//单例模式（Singleton Pattern）：确保一个类只有一个实例，并提供一个全局访问点。

var Singleton=(function(){
	var instance;
	function createInstance(){ 
		name="单利实例实现";
		return {
			name
		}
	}
	return {
		getInstance:function(){
			if(!instance){
				instance=createInstance();
			}
			return instance;
		}
	}
})();

var singletonInstance1 = Singleton.getInstance();
var singletonInstance2 = Singleton.getInstance();

console.log(singletonInstance1 === singletonInstance2); 
// true




//自己实现
let sl=null; 
function getSingleTone(){ 
	function test(){this.name="单利"}
	if(sl)return sl;
	else sl=new test();
	return sl;
}

var v1=getSingleTone();
var v2=getSingleTone();
console.log("是否是单例",v1===v2);


function test(name){
	this.name=name
}
//两个不一样的实例
let v3=new test("ce");
let v4=new test("se");